/*
 * @LastEditors: yuSeen
 * @LastEditTime: 2021-11-20 15:28:29
 * 天凉好个秋
 */
import User from "../model/user";

interface IUser {
  name: string;
  password: string | number;
}

class UserService {

  /**
   * @description: 根据用户id查询用户信息
   * @param {number} id
   * @return {IUser} 用户信息
   */  
  getUserById(id: number): Promise<IUser> {
    return User.findByPk(id);
  }

  /**
   * @description:  根据用户名查询用户信息
   * @return {IUser} 用户信息
   */
  getUserByName(name: string): Promise<IUser> {
    return User.findOne({
      where: {
        name,
      },
    });
  }

  /**
   * @description: 获取用户列表
   * @param {number} pageIndex 第几页
   * @param {number} limit  每页数据条数
   * @return {*}
   */
  getUserList(pageIndex: number = 1, limit: number = 15) {
    return User.findAndCountAll({
      limit,
      offset: (pageIndex - 1) * limit,
    });
  }

  /**
   * @description: 新增用户
   * @param {IUser} 用户信息
   * @return {*}
   */
  addUser(UserInfo: IUser) {
    return User.create(UserInfo);
  }

  /**
   * @description: 更新用户信息
   * @param {number} id 用户id
   * @param {IUser} UserInfo
   * @return {*}
   */
  updateUser(id: number, UserInfo: IUser) {
    return User.update(UserInfo, { where: { id } });
  }

  /**
   * @description: 删除用户
   * @param {number} id 用户id
   * @return {*}
   */  
  deleteUser(id: number) {
    return User.destroy({where: {id}})
  }
}

export default new UserService();
